/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.ucase.caseadditional.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 描述: 案件补录表 case_additional_record 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年12月08日
 */
@Data
@Table(name = "upcase.case_additional_record")
public class CaseAdditionalRecord implements Serializable {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
//    @Before
//    @GeneratedValue(strategy = GenerationType.IDENTITY,generator="select replace(uuid(), '-', '')")
    private String id;

    /**
     * 案件编号，立案案号
     */
    @Column(name = "case_number")
    private String caseNumber;

    /**
     * 案件名称
     */
    @Column(name = "case_name")
    private String caseName;

    /**
     * 案件来源
     */
    @Column(name = "case_source")
    private String caseSource;

    /**
     * 案件所属机构编码
     */
    @Column(name = "case_org_code")
    private String caseOrgCode;

    /**
     * 案件所属机构名称
     */
    @Column(name = "case_org_name")
    private String caseOrgName;

    /**
     * 案件来源日期-案件登记（创建）时间
     */
    @Column(name = "case_create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseCreateTime;

    /**
     * 案发时间(违法时间)
     */
    @Column(name = "case_happen_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseHappenTime;

    /**
     * 立案批准日期
     */
    @Column(name = "case_regist_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseRegistTime;

    /**
     * 执法主体名称
     */
    @Column(name = "org_name")
    private String orgName;

    /**
     * 执法主体名称统一社会信用代码
     */
    @Column(name = "unicode")
    private String unicode;

    /**
     * 组织编码
     */
    @Column(name = "case_unit_code")
    private String caseUnitCode;

    /**
     * 执法人员信息
     */
    @Column(name = "case_lerep")
    private String caseLerep;

    /**
     * 执法人员证件编号
     */
    @Column(name = "case_lerep_code")
    private String caseLerepCode;

    /**
     * 是否委托其他部门实施(0-否/1-是)
     */
    @Column(name = "case_is_entrust")
    private String caseIsEntrust;

    /**
     * 受委托组织编码
     */
    @Column(name = "case_entrust_org_code")
    private String caseEntrustOrgCode;

    /**
     * 受委托组织名称
     */
    @Column(name = "case_entrust_org_name")
    private String caseEntrustOrgName;

    /**
     * 告知日期
     */
    @Column(name = "case_know_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseKnowTime;

    /**
     * 告知方式 0 口头，1 书面
     */
    @Column(name = "case_know_way")
    private String caseKnowWay;

    /**
     * 权力告知
     */
    @Column(name = "case_know_inform")
    private String caseKnowInform;

    /**
     * 是否可听证；1：是 0：否
     */
    @Column(name = "is_hearing")
    private String isHearing;

    /**
     * 告知处罚种类
     */
    @Column(name = "case_punish_kinds")
    private String casePunishKinds;

    /**
     * 立案文书
     */
    @Column(name = "case_file_name")
    private String caseFileName;

    /**
     * 告知文书
     */
    @Column(name = "case_know_file_name")
    private String caseKnowFileName;

    /**
     * 决定日期
     */
    @Column(name = "document_create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime documentCreateTime;

    /**
     * 决定书文号
     */
    @Column(name = "document_number")
    private String documentNumber;

    /**
     * 送达日期
     */
    @Column(name = "sent_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime sentTime;

    /**
     * 送达方式; 1直接送达、2留置送达、3委托送达、4邮递送达、5公告送达、6电子送达、7其他方式送达


     */
    @Column(name = "send_way")
    private String sendWay;

    /**
     * 决定类别 1 予以处罚、2 不予处罚
     */
    @Column(name = "case_document_category")
    private String caseDocumentCategory;

    /**
     * 是否重大案件(0-否/1-是)
     */
    @Column(name = "is_important_case")
    private String isImportantCase;

    /**
     * 是否法制审核 (0-否/1-是)
     */
    @Column(name = "is_document_audit")
    private String isDocumentAudit;

    /**
     * 是否集体讨论 (0-否/1-是)
     */
    @Column(name = "is_need_collective_discuss")
    private String isNeedCollectiveDiscuss;

    /**
     * 行政区划编码
     */
    @Column(name = "area_code")
    private String areaCode;

    /**
     * 违法事实
     */
    @Column(name = "illegal_fact")
    private String illegalFact;

    /**
     * 违法依据
     */
    @Column(name = "relate_evidence")
    private String relateEvidence;

    /**
     * 处罚依据
     */
    @Column(name = "punish_basis")
    private String punishBasis;

    /**
     * 处罚种类
     */
    @Column(name = "punish_kinds")
    private String punishKinds;

    /**
     * 罚款金额
     */
    @Column(name = "draft_punish_money")
    private String draftPunishMoney;

    /**
     * 没收违法所得金额
     */
    @Column(name = "confiscate_punish_money")
    private String confiscatePunishMoney;

    /**
     * 没收非法财物金额
     */
    @Column(name = "confiscate_illegal_punish_money")
    private String confiscateIllegalPunishMoney;

    /**
     * 暂扣许可证名称
     */
    @Column(name = "case_withhold_license_name")
    private String caseWithholdLicenseName;

    /**
     * 暂扣许可证编号
     */
    @Column(name = "case_withhold_license_code")
    private String caseWithholdLicenseCode;

    /**
     * 暂扣许可证起止日期
     */
    @Column(name = "case_withhold_license_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseWithholdLicenseEndTime;

    /**
     * 吊销许可证名称
     */
    @Column(name = "case_revocation_license_name")
    private String caseRevocationLicenseName;

    /**
     * 吊销许可证编号
     */
    @Column(name = "case_revocation_license_code")
    private String caseRevocationLicenseCode;

    /**
     * 吊销许可证起止日期
     */
    @Column(name = "case_revocation_license_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseRevocationLicenseEndTime;

    /**
     * 拘留天数
     */
    @Column(name = "case_detention_day")
    private Short caseDetentionDay;

    /**
     * 拘留起始日期
     */
    @Column(name = "case_detention_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseDetentionStartTime;

    /**
     * 拘留截止日期
     */
    @Column(name = "case_detention_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseDetentionEndTime;

    /**
     * 是否推送公示信息(0-否/1-是)
     */
    @Column(name = "is_publicity")
    private String isPublicity;

    /**
     * 公示内容
     */
    @Column(name = "publicity_content")
    private String publicityContent;

    /**
     * 执行方式 0:自觉履行、1:强制执行
     */
    @Column(name = "execute_way")
    private String executeWay;

    /**
     * 是否执行处罚决定(0-否/1-是)
     */
    @Column(name = "is_execute_punish")
    private String isExecutePunish;

    /**
     * 执行完成日期
     */
    @Column(name = "execute_finish_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime executeFinishDate;

    /**
     * 是否分期(0-否/1-是)
     */
    @Column(name = "is_stages")
    private String isStages;

    /**
     * 是否延期(0-否/1-是)
     */
    @Column(name = "is_delay")
    private String isDelay;

    /**
     * 处罚结果
     */
    @Column(name = "case_punish_result")
    private String casePunishResult;

    /**
     * 决定文书文件
     */
    @Column(name = "case_decision_file_name")
    private String caseDecisionFileName;

    /**
     * 执行文书文件
     */
    @Column(name = "case_execute_file_name")
    private String caseExecuteFileName;

    /**
     * 
结案情况-不予行政处罚(0-否/1-是)
     */
    @Column(name = "is_case_condition")
    private String isCaseCondition;

    /**
     * 是否涉刑案件(0-否/1-是)
     */
    @Column(name = "is_case_punish")
    private String isCasePunish;

    /**
     * 结案日期
     */
    @Column(name = "case_finish_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseFinishDate;

    /**
     * 结案文书：附件
     */
    @Column(name = "case_finish_file_name")
    private String caseFinishFileName;

    /**
     * 补录理由:1、处罚系统异常 2、紧急案件3、其他不可抗因素
     */
    @Column(name = "case_record_reason")
    private String caseRecordReason;

    /**
     * 案件补录情况说明
     */
    @Column(name = "case_record_content")
    private String caseRecordContent;

    /**
     * 案件补录状态 0 待提交 1 审批中 2 推送成功 3 推送失败 4 补录成功 5 补录失败
     */
    @Column(name = "case_audit_status")
    private String caseAuditStatus;

    /**
     * 登陆人所在部门编码
     */
    @Column(name = "org_code")
    private String orgCode;

    /**
     * 案件类型:1普通程序  2简易程序
     */
    @Column(name = "case_type")
    private String caseType;

    /**
     * 补录成功日期
     */
    @Column(name = "case_success_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseSuccessTime;
    /**
     * 补录阶段状态 1立案信息 2 告知信息 3决定信息 4 执行信息 5 结案信息 6 审批表信息
     */
    @Column(name = "case_stage_status")
    private String caseStageStatus;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 未执行处罚决定原因
     */
    @Column(name = "execute_punish_cause")
    private String executePunishCause;

    /**
     * 集体讨论日期
     */
    @Column(name = "need_collective_discuss_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date needCollectiveDiscussTime;
    /**
     * 集体讨论结论
     */
    @Column(name = "need_collective_discuss_reason")
    private String needCollectiveDiscussReason;
    /**
     * 执法人员名字
     */
    @Column(name = "name_list")
    private String nameList;

    /**
     * 暂扣许可证开始日期
     */
    @Column(name = "case_withhold_license_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date caseWithholdLicenseStartTime;

    /**
     * 吊销许可证开始日期
     */
    @Column(name = "case_revocation_license_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date caseRevocationLicenseStartTime;

    /**
     * 决定送达日期
     */
    @Column(name = "decision_sent_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime decisionSentTime;

    /**
     * 决定送达方式; 1直接送达、2留置送达、3委托送达、4邮递送达、5公告送达、6电子送达、7其他方式送达
     */
    @Column(name = "decision_sent_way")
    private String decisionSentWay;
    /**
     *没收非法财物
     */
    @Column(name = "confiscate_illegal_property")
    private String confiscateIllegalProperty;

    /**
     * 法制审核日期
     */
    @Column(name = "document_audit_date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date documentAuditDate;

    /**
     * 是否已结案(1是，0否)
     */
    @Column(name = "case_close_status")
    private String caseCloseStatus;

    /**
     * 处罚内容
     */
    @Column(name = "punish_content")
    private String punishContent;

    private static final long serialVersionUID = 1L;

}